<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS对象_Function</title>
    <script>
        /*
            Function: 函数(方法)对象
				1.对象:
					1.var fun = new Function(形式参数列表,方法体); (不建议)
					2.function 方法名称(形式参数列表){
						方法体
					}

					3.var 方法名 = function(形式参数列表){
						方法体
					}
				2.方法

				3.属性:
					length: 代表形参的个数
				4.特点:
					1.方法定义是,形参的类型不用写,返回值类型也不写
					2.方法是一个对象,如果定义名称相同的方法,会覆盖
					3.在 JS 中,方法的调用只与方法的名称有关,和参数列表无关
					4.在方法声明中有一个隐藏的内置对象(数组), arguments ,封装所有的实际参数
				5.调用:
					方法名称(实际参数列表);
         */
        //1.创建对象1
        var fun = new Function("a","b","alert(a)");
        // fun(3,2);
        //创建方法2
        function fun2(a , b){
            alert(a + b);
        }
        // alert(fun2.length);
        // fun2(3,2);
        //创建方法3
        var fun2 = function(a , b){
            alert(a + b);
        }
        // fun2(4,2);

        //求任意个数的和
        function add(){
            var sum = 0;
            for (var i = 0; i < arguments.length; i++) {
                sum += arguments[i];
            }
            return sum;
        }
        var sum = add(1,2,3,4);
        alert(sum);
    </script>
</head>
<body>

</body>
</html>